package com.demo.dao;

import com.demo.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
//2-在Mapper.java中定义方法
@Mapper
public interface UserMapper {
    int insert(User row);

    /**
     * 写入用户信息
     * @param row 待写入数据库的用户
     * @return 返回受影响的行数
     */
    int insertSelective(User row);

    /**
     * 通过id查询对应用户信息
     * @param id 用户id
     * @return User
     */
    User selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(User row);

    int updateByPrimaryKey(User row);

    /**
     * 根据用户名查询用户信息
     * @param username 用户名
     * @return 对应的用户
     */
    //不加注解的方式：username要与xml文件中的#后的名称一定要对应
    User selectByName(String username);
    //加注解的方式：@Param后的username要与xml文件中的#后的名称一定要对应，因为关联到sql中的入参
    // Sting username的名称可以任意写，因为是java中的变量
//    User selectByName(@Param("username") String username);
}